導讀:說的簡單易懂一些,網(wǎng)絡爬蟲跟你使用的〖離線閱讀〗工具差不多。說離線,其實還是要跟網(wǎng)絡聯(lián)結,否則怎么抓東西下來?那么不同的地方在哪里?1)網(wǎng)絡爬蟲高度可配置性。2)網(wǎng)絡爬蟲可以解
發(fā)表日期:2020-04-25
文章編輯:興田科技
瀏覽次數(shù):7299
標簽:
說的簡單易懂一些,網(wǎng)絡爬蟲跟你使用的〖離線閱讀〗工具差不多。說離線,其實還是要跟網(wǎng)絡聯(lián)結,否則怎么抓東西下來?那么不同的地方在哪里?
1)網(wǎng)絡爬蟲高度可配置性。
2)網(wǎng)絡爬蟲可以解析抓到的網(wǎng)頁里的鏈接
3)網(wǎng)絡爬蟲有簡單的存儲配置
4)網(wǎng)絡爬蟲擁有智能的根據(jù)網(wǎng)頁更新分析功能
5)網(wǎng)絡爬蟲的效率相當?shù)母?/p>
那么依據(jù)特征,其實也就是要求了,如何設計爬蟲呢?要注意哪些步驟呢?
1)url 的遍歷和紀錄
這點 larbin 做得非常的好,其實對于url的遍歷是很簡單的,例如:
cat [what you got] tr " n gawk '{print $2}' pcregrep ^http://
就可以得到一個所由的 url 列表
2)多進程 VS 多線程
各有優(yōu)點了,現(xiàn)在一臺普通的pC 例如 booso.com 一天可以輕松爬下5個G的數(shù)據(jù)。大約20萬網(wǎng)頁。
3)時間更新控制
最傻的做法是沒有時間更新權重,一通的爬,回頭再一通的爬。
通常在下一次爬的的數(shù)據(jù)要跟上一次進行比較,如果連續(xù)5次都沒有變化,那么將爬這個網(wǎng)頁的時間間隔擴大1倍。
如果一個網(wǎng)頁在連續(xù)5次爬取的時候都有更新,那么將設置的爬取時間縮短為原來的1/2。
注意,效率是取勝的關鍵之一。
4)爬的深度是多少呢?
看情況了。如果你比較牛,有幾萬臺服務器做網(wǎng)絡爬蟲,我勸您跳過這一點。
如果你同我一樣只有一臺服務器做網(wǎng)絡爬蟲,那么這樣一個統(tǒng)計您應該知道:
網(wǎng)頁深度:網(wǎng)頁個數(shù):網(wǎng)頁重要程度
0 : 1 : : 10
1 :20 : :8
2: :600: :5
3: :2000: :2
4 above: 6000: 一般無法計算
好了,爬到三級就差不多了,再深入一是數(shù)據(jù)量擴大了3/4倍,二是重要度確下降了許多,這叫做“種下的是龍種,收獲的是跳蚤。
5)爬蟲一般不之間爬對方的網(wǎng)頁,一般是通過一個proxy出去,這個proxy有緩解壓力的功能,因為當對方的網(wǎng)頁沒有更新的時候,只要拿到 header 的 tag就可以了,沒有必要全部傳輸一次了,可以大大節(jié)約網(wǎng)絡帶寬。
apache webserver里面紀錄的 304 一般就是被cache的了。
6)請有空的時候照看一下robots.txt
7)存儲結構。
這個人人見智,google 用 gfs 系統(tǒng),如果你有7/8臺服務器,我勸你用NFS系統(tǒng),要是你有70/80個服務器的話我建議你用afs 系統(tǒng),要是你只有一臺服務器,那么隨便。
給一個代碼片斷,是我寫的新聞搜索引擎是如何進行數(shù)據(jù)存儲的:
NAME=echo $URL perl -p -e 's/([^w-.@])/$1 eq "n" ? "n":sprintf("%%%2.2x",ord($1))/eg'mkdir -p $AUTHOR
newscrawl.pl$URL--user-agent="news.booso.com+(+http://booso.com)"-outfile=$AUTHOR/$NAME
特別是注意以下幾句:
1.通常在下一次爬的的數(shù)據(jù)要跟上一次進行比較,如果連續(xù)5次都沒有變化,那么將爬這個網(wǎng)頁的時間間隔擴大1倍,如果一個網(wǎng)頁在連續(xù)5次爬取的時候都有更新,那么將設置的爬取時間縮短為原來的1/2。
網(wǎng)頁更新頻度嚴重影響著搜索引擎蜘蛛程度對網(wǎng)站的爬行,爬取次數(shù)越多意味著網(wǎng)頁收錄幾率會越大、收錄數(shù)量越多,收錄是SEO最基礎的一個環(huán)節(jié)。
2.好了,爬到三級就差不多了,再深入一是數(shù)據(jù)量擴大了3/4倍,二是重要度確下降了許多,這叫做“種下的是龍種,收獲的是跳蚤。
盡量將網(wǎng)站保持在三級目錄內,深層次的網(wǎng)頁會給搜索引擎帶來很大的壓力,當然,我想Google有足夠的服務器來承擔這些壓力,但從側面來說,3層目錄下的網(wǎng)頁被抓取及更新的頻度要低很多。前面,我說過,要想辦法使網(wǎng)站物理結構和邏輯結構吻合,這體現(xiàn)于URL的良好設計,現(xiàn)在你可以檢查下前臺生成的靜態(tài)網(wǎng)頁的實際目錄有幾層,考慮是否可以優(yōu)化
更多新聞
2023
如果您打算在豐城開展在線銷售業(yè)務,我們的電子商務解決方案將能夠幫助您實現(xiàn)這一目標。我們的團隊將為您構建一個安全、易于管理和具有可擴展性的電子商務平臺,使您能夠便捷地管理產(chǎn)品、處理訂單和交付貨物。
View details
2023
臨猗網(wǎng)絡推廣是指通過互聯(lián)網(wǎng)渠道,以各種網(wǎng)絡推廣手段,提高品牌知名度,吸引客戶訪問和購買企業(yè)產(chǎn)品或服務。
View details
2020
SEO是一門沒有正規(guī)教程的學科,而且方式策略會隨著時間發(fā)展而發(fā)生變化,因為搜索引擎會經(jīng)常更新算法,尤其是近期,基本一個月變一次,如果我們的網(wǎng)站受影響,很多人常常會先從自己網(wǎng)站
View details
2023
小程序定制是指根據(jù)客戶需要,為其業(yè)務開發(fā)一款獨特的小程序應用。小程序定制可以適配不同的行業(yè)和需求,為企業(yè)和個人提供了一個強大的工具,幫助他們擴大業(yè)務和增加品牌曝光度。
View details